package com.mlh.springboot.controller;

import com.mlh.springboot.bean.Admin;
import com.mlh.springboot.bean.User;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;

import javax.servlet.http.HttpSession;
import java.util.ArrayList;

/**
 * @author 缪林辉
 * @date 2024/3/2 16:31
 * @DESCRIPTION
 */
@Controller
public class AdminController {
    //这里路径也是 "/login" 但是一个是get一个是post可以区分开，所有没有关系
    @PostMapping("/login")
    public String login(Admin admin, HttpSession session, Model model){
        if(StringUtils.hasLength(admin.getName())&&"123".equals(admin.getPassword())){
            //账号密码正确，合法
            //请小伙伴回忆, java web,不使用请求转发是防止刷新页面会重复提交
            //manage.html表示要去 找的处理方法的 映射路径为manage.html
            //不要被.html所迷惑

            //为了防止直接去访问/manage.html也能进入到管理页面
            //这里将登录用户保存到session
            session.setAttribute("loginAdmin",admin);
            return "redirect:/manage.html";
        }else{
            //账号密码不正确，不合法
            model.addAttribute("msg","账号密码错误");
            return "login";
        }
    }

    // @GetMapping("/manage.html")
    // public String managePage(Model model,HttpSession session){
    //     Object loginAdmin = session.getAttribute("loginAdmin");
    //     if(loginAdmin==null){
    //         //如果session中没有用户信息，说明该用户之前并没有登录过
    //         model.addAttribute("msg","用户还未登录！");
    //         return "login";
    //     }else{
    //         //这部分数据假设从数据库来
    //         ArrayList<User> users = new ArrayList<>();
    //         users.add(new User(1, "关羽~", "666666", 20, "gy@sohu.com"));
    //         users.add(new User(2, "张飞", "666666", 30, "zf@sohu.com"));
    //         users.add(new User(3, "赵云", "666666", 22, "zy@sohu.com"));
    //         users.add(new User(4, "马超", "666666", 28, "mc@sohu.com"));
    //         users.add(new User(5, "黄忠", "666666", 50, "hz@sohu.com"));
    //         //将数据放到request域中
    //         model.addAttribute("users", users);
    //         return "manage";
    //     }
    // }

    @GetMapping("/manage.html")
    public String managePage(Model model) {
        // 这部分数据假设从数据库来
        ArrayList<User> users = new ArrayList<>();
        users.add(new User(1, "关羽~", "666666", 20, "gy@sohu.com"));
        users.add(new User(2, "张飞", "666666", 30, "zf@sohu.com"));
        users.add(new User(3, "赵云", "666666", 22, "zy@sohu.com"));
        users.add(new User(4, "马超", "666666", 28, "mc@sohu.com"));
        users.add(new User(5, "黄忠", "666666", 50, "hz@sohu.com"));
        // 将数据放到request域中
        model.addAttribute("users", users);
        return "manage";
    }
}
